package create.factory;

import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author lzp
 * @Date:2023/2/23
 * @description: 测试工厂模式
 */
public class FactoryTestDemo {

	public static void main(String[] args) {
		String numberStr = "12345.66";
		// 通过抽象工厂方法生产产品
		NumberFactory numberFactory = NumberFactory.getInstance();
		Number parse = numberFactory.parse(numberStr);
		System.out.println(parse.getClass());
		System.out.println(parse);

		// 通过静态工厂方法生产产品
		System.out.println(NumberFactoryStatic.parse(numberStr));

		// 屏蔽创建细节，细节使用缓存处理，优化空间，如果用new 的方式创建，就无法使用缓存优化
		System.out.println(Integer.valueOf(128)== Integer.valueOf(128));
		System.out.println(Integer.valueOf(127)== Integer.valueOf(127));
	}


}
